/**
 * 
 */
package cyclopean;

import java.awt.Dimension;
import java.util.HashSet;
import java.util.Set;

import javagame.core.main.Game;
import javagame.core.main.GameState;
import javagame.core.main.GameWindow;

import cyclopean.menu.MenuState;
import cyclopean.world.WorldState;

// TODO Javadoc
/**
 * 
 *
 * @author Jaco van der Westhuizen
 */
public class Cyclopean extends Game
{
	public static final GameState MENU  = new MenuState();
	public static final GameState WORLD = new WorldState();

    public static final Set<GameState> STATES = new HashSet<GameState>();
    
    static
    {
    	STATES.add(MENU);
    	STATES.add(WORLD);
    }
	
    Cyclopean()
    {
	    super(60);
    }

    public static final void main(String[] args)
    {
    	new Cyclopean();
    }

	/* (non-Javadoc)
     * @see javagame.core.main.Game#createGameWindow()
     */
    @Override
    protected GameWindow createGameWindow()
    {
	    return new GameWindow("Cyclopean", new Dimension(VideoProperties.RES_X, VideoProperties.RES_Y), VideoProperties.FULLSCREEN, VideoProperties.BIT_DEPTH, VideoProperties.REFRESH_RATE);
    }

	/* (non-Javadoc)
     * @see javagame.core.main.Game#getGameStates()
     */
    @Override
    protected Set<GameState> getGameStates()
    {
	    return STATES;
    }

	/* (non-Javadoc)
     * @see javagame.core.main.Game#getInitialGameState()
     */
    @Override
    protected GameState getInitialGameState()
    {
	    return WORLD;
    }
}
